Method and telecommunication system for transmitting a facsimile message

ABSTRACT

A method and system for transmitting a facsimile message uses a public-switched telecommunications network, the public-switched telecommunication network having a messaging platform capable of storing a plurality of facsimile messages. The initiation of a telephone call to a destination is detected, the content of the call including the facsimile message. If the destination is available at a first time to receive a telephone call, the facsimile message is transmitted. The facsimile message may be stored on the messaging platform only if the destination is unavailable at the first time, or every time a telephone call is initiated by the originating party. The method also provides for situations where a telephone call is redirected, where an inter-NPA seven digit dialing case has occurred, and where “busy” or “no_answer” triggers are implemented. If the facsimile message was stored, the facsimile message is transmitted at a second time if the destination is available.

TECHNICAL FIELD

The present invention relates to telecommunication systems, and inparticular to systems and methods for storing and transmitting facsimilemessages.

BACKGROUND ART

Facsimile machines or more commonly “fax” machines are used for sendingdocuments and other images from place to place over the telephonenetwork. The originating fax machine places a telephone call to adestination fax machine. The content of the telephone call is amodulated waveform that represents the image to be transmitted. In somecases the destination line is busy or there is no answer, perhapsbecause the destination fax is either sending or receiving another faxor the destination fax is broken or out of paper. If a call can not becompeted, most fax machines will attempt to redial the destination faxmachine periodically in an attempt to complete the fax transmission.When the originating fax is attempting to complete the fax transmission,this can monopolize all or partial use of the fax machine for a periodof time.

U.S. Pat. No. 4,922,348 issued to Gillon et al. solves some of therelated problems by recognizing a fax message and directing fax messagesto a storage unit where they later can be forwarded to a destination faxmachine or high-speed printer. By always storing fax messages in a faxstorage unit, the system of Gillon et al. requires a great deal ofstorage and throughput capabilities to handle large volumes of faxtraffic.

BRIEF DESCRIPTION OF THE DRAWINGS

The invention is pointed out with particularity in the appended claims.However, other features of the invention will become apparent and theinvention will be best understood by referring to the following detaileddescription in conjunction with the accompanying drawings in which:

FIG. 1 presents a flowchart representation of a method in accordancewith the present invention.

FIG. 2 presents a block diagram representation of a telecommunicationsystem in accordance with the present invention.

FIG. 3 presents a block diagram representation of a telecommunicationsystem in accordance with an alternative embodiment of the presentinvention.

FIG. 4 presents a flowchart representation of a method in accordancewith the present invention.

FIG. 5 presents a block diagram representation of a telecommunicationsystem in accordance with a further embodiment of the present invention.

FIGS. 6-9 present flowchart representations in accordance with a furtherembodiment of the present invention.

FIG. 10 presents a flowchart representation of a method in accordancewith another embodiment of the present invention.

FIG. 11 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 12 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 13 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 14 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 15 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 16 presents an example service area map in accordance with oneembodiment of the present invention.

FIG. 17 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 18 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 19 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 20 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

FIG. 21 presents a block diagram representation of a telecommunicationssystem in accordance with one embodiment of the present invention.

FIGS. 22-26 present flowchart representations in accordance with oneembodiment of the present invention.

FIG. 27 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

The various embodiments of the present invention yield severaladvantages over the prior art. In one embodiment, the telecommunicationsystem and method of the present invention transmit a fax messagedirectly to the destination and store a fax message at a messagingplatform only if the destination for the fax is busy or does not answer.This provides advantages from the prior art by decreasing the use of themessaging platform—from all facsimile transmissions—to only thosetransmissions where the destination either is busy or does not answer.

In one embodiment of the present invention, the methods described hereinare implemented in an Advanced Intelligent Network (AIN) used by manylocal exchange carriers and interexchange carriers. This provides anefficient and uniform method of implementation for both local andlong-distance telecommunication service.

In one embodiment of the present invention, the methods described hereinallow the present invention to be implemented in conjunction with thecall forwarding service. This insures that any party in the chain offorwarded (redirected) telephone calls may receive the benefits of thepresent invention.

In one embodiment of the present invention, the methods described hereinallow the present invention to be implemented where the originatingparty initiates a telephone call using a seven digit direct dialedtelephone number. This allows parties in different NPAs yet who areclose enough to contact one another by dialing seven rather than tendigits to benefit from the present invention.

In one embodiment of the present invention, the methods described hereinallow the present invention to be implemented using busy or no_answertriggers. This allows more efficient operation of the telecommunicationssystem as the service control point is not contacted until a busy orno_answer querry is received by the service switching point. The serviceswitching point attempts to connect the telephone call withoutcontacting the service control point. If the service switching point isunable to complete the telephone call, a busy querry or a no_answerquerry is launched from the service switching point. The serviceswitching point then contacts the service control point, which returns arouting message to route the telephone call to the messaging platform.

FIG. 1 presents a flowchart representation of a method in accordancewith the present invention. This flowchart illustrates a method oftransmitting a facsimile message using a public-switchedtelecommunications network, the public-switched telecommunicationnetwork having a messaging platform capable of storing a plurality offacsimile messages. The method begins in step 100 by detecting theinitiation of a telephone call to a destination on thetelecommunications network, the content of the call including thefacsimile message (the content of the telephone call may include voiceand data information as mentioned Infra in the description of FIGS. 10and 19-20) Step 102 continues by determining if the destination isavailable to receive a telephone call—the time of this determinationbeing designated as the “first time”.

If the destination is available at the first time, then the methodproceeds to step 106 by transmitting the facsimile message to thedestination. If, however, the destination is unavailable at the firsttime the method proceeds as shown in step 104 by storing the facsimilemessage on the messaging platform. If the facsimile message was storedthe method proceeds by determining, as shown in step 108, if thedestination is available at some later time—to be designated the “secondtime”. If the destination is available at the second time, the methodproceeds to step 106 and transmits the facsimile message. If, however,the destination is unavailable at the second time, the method proceedsback to step 108 and continues to try again to find the destinationavailable.

It is worthwhile to note that, in the method described above, thefacsimile message is stored on the messaging platform only if thedestination is unavailable at the first time. This means that otherfacsimile messages can be routed to the destination without storage andwithout using the messaging platform. This allows the messaging platformto have either lower memory requirements to handle normal call volumeor, alternatively, allows greater call capacity for a fixed memory size.

In one embodiment of the present invention, the number of times that thestep 108 is repeated is limited to some finite number n. After trying ntimes to reach the destination, an error message, indicating that thefacsimile message could not be sent to the destination is, instead,routed back to the originating fax. This avoids a potential problemwhere the destination, due to some fault or error, would not becomeavailable within a reasonable period of time. This also allows the userat the originating fax to know that the facsimile message did not gothrough and gives the user the opportunity to check the number for thedestination and possibly to check into the operation status of the faxmachine at the destination.

In an alternative embodiment of the present invention, if the number ordelivery attempts to the destination have been exhausted, rather thansending a facsimile message to the originating fax machine, anadministrative facility, such as a service bureau, can be notified ofthe failure along with the content of the facsimile message. In thisfashion, administrative personnel can try to manually send the facsimilemessage or can take other steps such as contacting the originator of thefacsimile message.

In an additional embodiment of the present invention, the way that thefailure to deliver a facsimile message is handled is dependent upon afailure condition. The messaging platform will continue to attempt todeliver a facsimile message to the destination if the destination isrepeatedly busy or there is no answer. If, however, the platformrecognizes that a fax tone is not returned upon answer (implying a voiceanswer) then delivery attempts may be canceled after a fewer number ofretries so as not to annoy the receiver. The number of retries allowedin either failure condition may be a system administration parameterthat is constant for all users. Alternatively, the number of retriesallowed for each failure condition could be customized at subscriberrequest for each subscriber if desired.

The methods described above, if the facsimile message were stored, wouldgenerally require initiating a new telephone call to the destination. Ina further embodiment of the present invention, if the destination wasunavailable at the first time, the method proceeds to “camp-on” thedestination to wait for the destination to become available. In thisfashion, once an indication is received that the destination isavailable the transmission of the facsimile message to the destinationcan be initiated. In this embodiment, a timer could be set to time theperiod that the system has camped-on a particular destination. After apredetermined time period has been exceeded, this method would resort torouting an error message back to the originating fax machine to indicatethe message could not be sent.

In the various embodiments described above, a stored facsimile messagecould also be erased from the messaging platform after the message isproperly sent or after the messaging platform determines that themessage cannot be sent. This allows the particular portions of memory onthe messaging platform used to store the facsimile message to be reusedto store additional messages.

It should also be noted that the various methods described above and theother embodiments of the present invention described herein—like anormal facsimile transmission—operate by having the user initiate afacsimile transmission to the telephone number corresponding to thedestination. They enter the telephone number of destination on their faxmachine. The fax machine operates as normal and the message istransmitted—either to the messaging platform or to the destination. Ineither case the fax machine itself is free for sending and receivingadditional faxes. The user does not direct the facsimile message to themessaging platform. The facsimile message is routed to the messagingplatform only if the destination is unavailable.

FIG. 2 presents a block diagram representation of a telecommunicationsystem in accordance with the present invention. Telecommunicationsystem 120 is provided to route a facsimile message from subscriber faxunit 122 to fax recipient 124. Telecommunication system 120 includescentral office switches 126, 128 and 130 that are interconnected vianetwork 132. In addition, messaging platform 134 is provided and isconnected to central office switch 128 by means of a simplified messagedesk interface (SMDI) link 136.

In operation, the subscriber attempts to send a facsimile message to faxrecipient 124. If fax recipient 124 answers then the facsimile messageis routed as shown in path 1 through central office switches 126 and130.

If the fax recipient 124 is busy or does not answer, the facsimilemessage is routed as shown in path 2 through central office switches 126and 128 to messaging platform 134 for storage and redelivery. In apreferred embodiment, direct inward dialing (DID) is used to transmitthe facsimile message from the central office switch 128 to messagingplatform 134. The messaging platform 134 then attempts to call the faxrecipient's line to deliver the stored fax as shown by path 3. In apreferred embodiment, a feature group D (FGD) protocol is used tocommunicate between the messaging platform 134 and the central officeswitch 128. If the facsimile message cannot be delivered on the firstattempt, the platform will continue trying, based on a defined schedule,to deliver the facsimile message.

FIG. 3 presents a block diagram representation of a telecommunicationsystem in accordance with an alternative embodiment of the presentinvention. In this embodiment the various methods described herein canalso be implemented. In particular, a telecommunication system 200 isincluded for transmitting a facsimile message from a line 202 of anoriginating party, corresponding to an originating fax machine 204, to adestination having a destination fax machine 206 using an advancedintelligent telecommunication network such as the SS7 network. In apreferred embodiment the 0.2 AIN system features are used in theimplementation of the system described herein.

The system includes an originating service switching point 216 fordetecting an initiation of a telephone call on the telecommunicationsnetwork to the destination by detecting an off-hook delay triggerassigned to the line 202 of the originating party and for suspending thetelephone call and launching an information message if the off-hookdelay trigger is detected. Destination service switching point 208corresponds to the destination fax machine 206. Signaling transfer point210 transfers messages to and from the originating service switchingpoint and the destination service switching point and the servicecontrol point 212.

Service control point 212, through signaling transfer point 210,receives the information message from the originating service switchingpoint 216, and in response, determines a destination condition for thedestination. In one embodiment of the present invention, the SCP 212launches a query to destination SSP 208 to determine the destinationcondition. The destination SSP 208 responds to the SCP 212 with a replyof either “busy” indicating the destination is currently on a call,“no-answer” indicating the destination does not pick-up the call or“answer” indicating that the destination picks-up the call and answers.The time that this destination condition was determined will bedesignated, the “first time”.

If the destination condition was “answer” at the first time, the servicecontrol point 212 launches a transmit message to the originating serviceswitching point to transmit the facsimile message to the destination.If, and only if the destination condition was “busy” or “no-answer” atthe first time, the SCP 212 launches a routing message from the at leastone service control point to the originating service switching point toroute the telephone call. In this case, a messaging platform 214,capable of storing a plurality of facsimile messages, receives andstores the routed facsimile message. If the facsimile message was routedto the messaging platform, the messaging platform attempts to completethe call at a later time—designated as the “second time” and themessaging platform transmits the facsimile message to the destination ifthe destination condition was “answer” at the second time.

In one embodiment of the present invention a plurality of messagingplatforms are provided, the service control point determines thetelephone number corresponding to the message platform using alookup-table that is indexed by a telephone number corresponding to thecalling party. The calling party number is passed to the SCP 212 fromthe originating SSP 216 via the information message. The SCP 212 looksup the calling party number in a database to find a corresponding numberfor the messaging platform 214 that serves that particular callingparty. The SCP 212 then effectuates the routing of the facsimile messageto the messaging platform 214 by sending a routing message tooriginating SSP 216 that includes the telephone number of the messagingplatform 214. The called party field for the call in the SS7 protocol ischanged from the destination telephone number to the number for themessaging platform 214. More particularly, the original called partynumber is assigned to the redirecting party ID field.

In one embodiment of the present invention the system described above isimplemented as follows. The information message sent by the originatingservice switching point 216 to the service control point 212 includes aInformation Collected Query as allowed in the 0.2 AIN protocol. In thisembodiment, the service control point 212 determines the destinationcondition by sending an Analyze Route Message (including a Next EventList) to the destination service switching point 208. Once a response isreceived by the service control point 212, the service control point 212returns the Analyze Route Message to the originating service switchingpoint 216. If the destination condition was “busy” or “no answer” thenthe Analyze Route Message includes the telephone number of the messagingplatform 214.

In the embodiments of the present invention described above, thefacsimile message is stored and forwarded for all destinations that arein a busy or no answer condition that originate from a calling partythat subscribes to the particular service. In an alternative embodiment,each subscriber has an option of providing a list of priority numbersfor which the service would apply. In this embodiment, the service wouldonly be invoked in busy or no answer calls made to the destinations onthis list. Other calls would be treated normally, without the invocationof this store and forward service.

In one embodiment of the present invention, the originating serviceswitching point 216 may route the facsimile message to the messagingplatform 214 directly, or by means of the telephone network (not shown).

It is worthwhile to note that the destination service switching point208 is not necessary for the operation of the method in accordance withthe present invention. One example of when the destination serviceswitching point would not be necessary is when the originating party andthe destination are both served by the same central office.

FIG. 4 presents a flowchart representation of a method in accordancewith the present invention. The method further describes an embodimentof the present invention used in the operation of the system shown inFIG. 3. In particular, a method is presented for transmitting afacsimile message from a line of an originating party to a destinationusing an advanced intelligent telecommunication network having aplurality of service switching points including an originating serviceswitching point and a destination service switching point, and at leastone service control point, and a messaging platform capable of storing aplurality of facsimile messages.

The method begins in step 300 by detecting an initiation of a telephonecall on the telecommunications network to the destination, by detectingan off-hook delay trigger assigned to the line of the originating party.In step 302, the telephone call is suspended and an information messageis launched from the originating service switching point to the at leastone service control point if the off-hook delay trigger is detected. Instep 304, a destination condition is determined for the destination at afirst time using the at least one service control point.

In step 306, if the destination condition is answer, a transmit messageis launched from the at least one service control point to theoriginating service switching point to transmit the facsimile message,as shown in step 308, to the destination.

If the destination condition is “busy” or “no answer” a routing messageis returned as shown in step 310 from the at least one service controlpoint to the originating service switching point to route the telephonecall to the messaging platform as shown in step 312. If the facsimilemessage was routed to the messaging platform, the routed facsimilemessage is stored on the messaging platform as shown in step 314. Instep 316 a destination condition is determined at a second time. If thedestination condition at the second time is “answer”, the facsimilemessage is transmitted to the destination as shown in step 318. If thedestination condition was “busy” or “no answer” the method returns tostep 316 (optionally after some delay) to determine the destinationcondition again.

FIG. 5 presents a block diagram representation of a telecommunicationsystem in accordance with a further embodiment of the present invention.As in the embodiments described in conjunction with FIG. 2,telecommunication system 120 is provided to route a facsimile messagefrom subscriber fax unit 122 to fax recipient 124. Telecommunicationsystem 120 includes central office switches 126, 128 and 130 that areinterconnected via network 132. Network 132 includes service controlpoint 350, signaling transfer point 352, local exchange carrier network354 network 356 (that can be either a local exchange carrier network ora interexchange carrier network). These elements are interconnected bySignaling System 7 trunks.

Messaging platform 134 is provided and is connected to central officeswitch 128 by means of a multiline hunt group (MLHG) on T1 facilitiesassociated with simplified message desk interface (SMDI) link 136. Moreparticularly, the SMDI link 136 connects the central office switch 128to a executive server 360 that coordinates the operation of themessaging platform 134 and provides billing, provisioning andadministrative information via packet network connection 392. Inaddition, the executive server provides a connection 394 to amaintenance and monitoring system (not shown) for maintenance purposes.

A plurality of media servers 370-376 are connected to the central officeswitch 128 by means of a like plurality of 2-way DID trunks on T1facilities 380-386. The media servers 370-376 provide storage facilitiesfor a plurality of stored facsimile messages. These media serverscommunicate with the executive server 360 by means of an ethernet localdata network 390.

FIGS. 6-9 present flowchart representations in accordance with a furtherembodiment of the present invention. In particular, these flowchartsrepresent specific procedures to be performed by a service control pointin response to an Information Collected Query from an originatingservice switching point. In step 402, an Information_Collected query isreceived by the service control point. If the called party number has astar code prefix this indicates a vertical service code. If a verticalservice code is detected in step 404, then the service control pointreturns an announcement number to the originating service switchingpoint to play a message to the user as shown in step 406, such as a fastbusy signal, indicating that the caller has entered an incorrectsequence for this service and control of the call is returned to theservice switching point. If no vertical service code is detected, themethod proceeds to step 408.

In an alternative embodiment of the present invention, a verticalservice code could be used to activate or deactivate a feature of theservice. In particular, the service itself may be activated ordeactivated on either a sustained or call-by-call basis.

In step 408, the service control point checks the called party number todetermine if the called party is a subscriber to the service. If thecalled party number corresponds to a service subscriber the servicecontrol point then checks to see if the called party number has at least7 digits. This is performed by determining if the called party number isgreater than 999999 as shown in step 410. If the called party number isnot greater than 999999, then the service control point returns anannouncement, as shown in step 412, and control of the call to theoriginating service switching point. In response, the service switchingpoint plays a message to the user that indicates that the particularcall cannot be completed as dialed. If the called party number isgreater than 999999, the method proceeds to step 420.

If the called party number does not correspond to a subscriber number,the method proceeds to step 414 where the service control pointdetermines if the called party number starts with a one and includes avalid area code. If so, the called party number is checked to see if itconforms to the national numbering plan (the form area code+seven digitnumber, which may optionally be preceeded by a “1”). This step isperformed as shown in step 416 by determining if the called party numberis greater than 999999999. If so, the method proceeds to step 422. Ifnot, the method proceeds to step 424.

If the prefix of the called party number does not correspond to anational number (a valid area code which may optionally be preceeded bya “1”) in step 414, the method proceeds to step 418 where the servicecontrol point determines if a valid international number is present. Ifso, the method proceeds to step 422; if not, the method proceeds to step424.

In step 420, the area code (NPA) is prepended to the called partynumber. In step 422, the service control point determines if the calledparty number corresponds to the messaging platform number—indicatingthat the user has attempted to send a message to the messaging platformdirectly. If this is the case, the method proceeds to step 424 to beginto handle the call without the application of the service. If the calledparty number does not correspond to the messaging platform, the methodproceeds to step 440.

In step 424, the service control point determines if a particularinter-exchange carrier has been casually dialed by the calling party. Ifso, the method proceeds to step 430 and an analyze route message ispopulated as shown in note 1 of Table 1. If not, the service controlpoint determines if an operator has been requested as shown in step 426.If no operator has been requested then the method proceeds to step 428to populate the analyze route message as shown in note 2 in Table 1. If,however, an operator has been requested, then the method proceeds tostep 430. In any case, as shown in step 432, this analyze route messageis transmitted to die originating service switching point where controlof the call is returned.

In step 440, the service control point determines if a particularinter-exchange carrier has been casually dialed by the calling party. Ifso, the method proceeds to step 442 and an analyze route message ispopulated as shown in note 1 of Table 1. If not, the method proceeds tostep 444 to populate the analyze route message as shown in note 2 inTable 1. In either case, an analyze route conversation message is sentto the destination service switching point in an attempt to complete thecall as shown in step 446. The service control point then waits for aresponse as shown in step 448. If the response from the destinationservice switching point is either “answer” indicating that the call hasbeen answered, or “originating termination” indicating that the callingparty has hung-up, or “close” indicating that the destination serviceswitching point is no longer processing the call, then the control ofthe call is returned to the originating service switching point.

If the response from the destination service switching point is either“busy” or “no answer”, the method proceeds to step 460. In step 460, theservice control point determines if the calling party number correspondsto an inter NPA seven digit dialing case. If the calling party is not asubscriber number, or if the calling party number is ten digits, themethod proceeds directly to step 462. If the calling party is a sevendigit number, the method proceeds to step 464 where the messagingplatform area code (NPA) is substituted for the calling party area code.In step 466, the called party number is stored in two fields; the areacode and exchange in one field, field 2, and the last four digits of thecalled party number in another field, field 3. In step 468, the servicecontrol point determines if the area code and exchange stored in field 2are present in a list of area code and exchange combinations whichcannot occur per industry standard. If so, the method prepends field 3with an area code and exchange which are determined from a lookup table,and continues to step 462. If not, the method proceeds directly to step462. If the area code and exchange match the area code and exchange ofthe messaging platform, the method first proceeds to step 470 where theoriginal four digits of the called party number are prepended with anarea code and exchange that are determined from a look up table. In step462, the analyze route message is populated as shown in note 3 of Table1 and control of the call is returned to the originating serviceswitching point. This routes the call to the messaging platform forstorage if the calling party is a subscriber to the service.

The parameters of the analyze route message sent from the servicecontrol point to the originating service switching point and the analyzeroute conversation message sent from the service control point to thedestination service switching point, as described above, are shown inTable 1. The ChargeNumber corresponds to the Automatic NumberIdentification (ANI) of the calling party. The CallingPartyID containsthe Directory Number (DN) of the calling party. TheChargePartyStationType contains the calling station type. TheChargeNumber, the CallingPartyID and the ChargePartyStationType are allpopulated with information supplied by the originating service switchingpoint to the service control point via an Info_Collected message. TheCalledParty_Digits are populated by the DN of the called party in casescovered by notes 1 & 2 and by a number stored at a specific index numberof an RC_Data_Tbl located at the service control point in cases coveredby note 3. The Traveling Class Mark (TCM) is a class of serviceindicator used with SS7 trunking. The RedirectingPartyID contains the DNof the called party. The PrimaryCarrier corresponds to an identificationcode that identifies the primary carrier for the subscriber. TheAMAslpID is a billing parameter used to bill a leg of the call.

FIG. 10 presents a flowchart representation of a method in accordancewith another embodiment of the present invention. In particular, thismethod is usable in conjunction with the systems described herein totransmit and store voice messages. The method begins in step 500 bydetecting an initiation of a telephone call on the telecommunicationsnetwork to the destination, by detecting an off-hook delay triggerassigned to the line of the originating party. In step 502, thetelephone call is suspended and an information message is launched fromthe originating service switching point to the at least one servicecontrol point if the off-hook delay trigger is detected. In step 504, adestination condition is determined for the destination at a first timeusing the at least one service control point. In step 506, if thedestination condition is answer, a continue message is launched from theat least one service control point to the originating service switchingpoint to continue the telephone call, as shown in step 508, to thedestination.

If the destination condition is “busy” or “no answer” the caller isqueried as shown in step 509, using interactive response techniques, todetermine if the caller would like to leave a voice message. If thecaller indicates that no voice message will be left then the methodproceeds to step 506 to continue the call. If, however, the callerindicates that a voice message will be left a routing message isreturned as shown in step 510 from the at least one service controlpoint to the originating service switching point to route the telephonecall to the messaging platform as shown in step 512. If the call wasrouted to the messaging platform, the voice message is stored on themessaging platform as shown in step 514. This stored voice message isheld for retrieval by an authorized person at the destination in amanner similar to standard voice mail systems.

FIG. 11 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. This flowchart illustratesa method of transmitting a facsimile message using a public-switchedtelecommunications network, the public-switched telecommunicationsnetwork having a messaging platform capable of storing a plurality offacsimile messages. The method starts in step 600 by detecting theinitiation of a telephone call from an originating party on thetelecommunications network to an original destination, where the contentof the telephone call includes the facsimile message. Step 602 continuesby determining if a final destination is able to receive the telephonecall—the time of this determination being designated as the “firsttime”—where the final destination is the original destination if thecall was not redirected, and the final destination is the finalredirected destination if the telephone call was redirected at least onetime. Here, the “final redirected destination” is referring to the finaldestination that a telephone call to the original destination has beenredirected.

If the final destination is available at the first time, then the methodproceeds to step 604 by transmitting the facsimile message to the finaldestination. If, however, the final destination is unavailable at thefirst time, the method proceeds as shown to step 606 by determining ifthe telephone call was redirected at least one time by a partyredirecting the telephone call—this party to be known as a “redirectingparty”. A telephone call may be redirected using a service such as callforwarding, where the party receiving the telephone call determines towhom the call is forwarded.

If the telephone call was not redirected, the method proceeds to step608, where it is determined again if the final destination is able toreceive the telephone call—the time of this determination to be madeafter the “first time” and known as the “later time”. If the finaldestination was able to receive the telephone call at the later time,corresponding to a destination condition of “available”, then the methodproceeds to step 604 and transmits the facsimile message to the finaldestination. If, however, the final destination is not able to receive atelephone call at the later time, corresponding to a destinationcondition of “unavailable”, the method proceeds back to step 608 andcontinues to try again to find the final destination available.

If the telephone call was determined to be redirected at least one timein step 606, the method proceeds to step 610 by determining theredirected destination, where the redirected destination is thedestination to which the called party has redirected the telephone call.The method then continues in step 612 by modifying the identification ofthe originating party. Step 612 is necessary in order to insure that anycustomer in the chain of redirected telephone calls who subscribes tothe fax-thru service will receive the benefits of the service. Aftermodifying the identification of the originating party, the methodproceeds to step 608, and continues as previously discussed.

In one embodiment of the present invention, the number of times that thestep 608 is repeated is limited to some finite number n. After trying ntimes to reach the destination, an error message, indicating that thefacsimile message could not be sent to the final destination, is insteadrouted back to the originating fax. This avoids a potential problemwhere the destination, due to some fault or error, would not becomeavailable within a reasonable period of time. This also allows the userat the originating fax to know that the facsimile message did not gothrough, and gives the user the opportunity to check the number for thedestination and possibly to check into the operation status of the faxmachine at the destination.

In various embodiments employing busy triggers and no_answer triggers(discussed Infra in discussion for FIG. 20), steps 606, 610 and 612 arenot necessary. In this embodiment, the method continues from step 602directly to step 608 without determining whether the telephone call wasredirected.

FIG. 12 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. The method furtherdescribes an enhanced embodiment of the present invention described inthe flowchart of FIG. 11. In particular, a method is presented fortransmitting a facsimile message from a line of an originating party toa destination using an advanced intelligent telecommunications networkhaving a plurality of service switching points including an originatingservice switching point, at least one service control point, and amessaging platform capable of storing a plurality of facsimile messages.

The method begins in step 700 by detecting an initiation of a telephonecall on the telecommunications network from an originating party to anoriginal destination, with the content of the telephone call includingthe facsimile message. In step 702, the originating service switchingpoint determines a destination condition for a final destination—thetime of this determination being designated as the “first time”—wherethe final destination is the original destination if the telephone callwas not redirected at least once, and the final destination is the finalredirected destination if the telephone call was redirected at least onetime. Here, the “final redirected destination” is referring to the finaldestination that a telephone call to the original destination has beenredirected.

If the destination condition was determined to be “answer”, the methodproceeds to step 704, where the facsimile message is transmitted to thefinal destination. If, however, the destination condition is “busy” or“no_answer”, the method continues to step 706, where the originatingservice switching point suspends the telephone call and launches aninformation message to the at least one service control point. Themethod then proceeds to step 708, where it is determined whether thetelephone call was redirected by a redirecting party at least one time.If the telephone call was not redirected, the method proceeds to step718 where the at least one service control point returns a routingmessage to the originating service switching point.

If the telephone call was determined to be redirected in step 708, themethod continues on to step 710, where a redirected destination isdetermined. The “redirected destination” is the destination to which acalled party has redirected the telephone call. The method then proceedsto step 712, where it is determined whether the telephone call wasredirected more than one time. If the telephone call was redirected morethan one time, the method proceeds to step 714, where the identificationof the originating party is changed to that of the final party toredirect the telephone call—this final party to be referred to as the“final redirecting party”. If the telephone call was not redirected morethan one time, the method proceeds to step 716, where the identificationof the originating party is changed to that of the original destination.In either case, the method continues on to step 718, where the at leastone service control point returns a routing message to the originatingservice switching point.

The method then proceeds to step 720, where the originating serviceswitching point routes the telephone call to the messaging platform. Themethod continues on to step 722, where the facsimile message is storedon the messaging platform. In step 724, a destination condition for thefinal destination is determined at a later time. If the destinationcondition at the later time is “answer”, the facsimile message istransmitted to the final destination as shown in step 726. If thedestination condition is “busy” or “no_answer”, the method returns tostep 724 (optionally after some delay) to determine the destinationcondition again.

In various embodiments employing busy triggers and no_answer triggers(discussed Infra in discussion for FIG. 20), steps 708-716 are notnecessary. In this embodiment, the method continues from step 706directly to step 718 without determining whether the telephone call wasredirected.

FIG. 13 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. The method furtherdescribes an enhanced embodiment of the present invention described inthe flowchart of FIG. 11. In particular, a method is presented fortransmitting a facsimile message from a line of an originating party toa destination using an advanced intelligent telecommunications networkhaving a plurality of service switching points including an originatingservice switching point, at least one service control point, and amessaging platform capable of storing a plurality of facsimile messages.

The method begins in step 800 by detecting an initiation of a telephonecall on the telecommunications network from an originating party to anoriginal destination, with the content of the telephone call includingthe facsimile message. In step 802, the originating service switchingpoint determines a destination condition for a final destination—thetime of this determination being designated as the “first time”—wherethe final destination is the original destination if the call was notredirected, and the final destination is the final redirecteddestination if the telephone call was redirected at least one time.Here, the “final redirected destination” is referring to the finaldestination that a telephone call to the original destination has beenredirected.

If the destination condition was determined to be “answer”, the methodproceeds to step 804, where the telephone call is routed to themessaging platform. The method then continues to step 806, where thefacsimile message is stored on the messaging platform. The facsimilemessage is then transmitted to the final destination as shown in step808. If the destination condition was determined to be “busy” or“no_answer” at the first time, the method proceeds to step 810, wherethe originating service switching point suspends the telephone call, andlaunches an information message to the at least one service controlpoint. Steps 810 thru 830 are identical to the corresponding steps 706thru 726 shown in FIG. 12.

It should be noted that the difference between the embodiment shown inFIG. 12, and the embodiment shown in FIG. 13 is the result of whathappens if an “answer” condition is detected in steps 702 and 802respectively. The embodiment as shown in FIG. 12 transmits the facsimilemessage to the final destination without storing the facsimile messageon the messaging platform. The embodiment as shown in FIG. 13 stores thefacsimile message on the messaging platform, and then transmits thefacsimile message to the final destination. Hence, the embodiment shownin FIG. 12 stores the facsimile message on the messaging platform onlyif a “busy” or “no_answer” condition is detected at the first time,whereas, the embodiment shown in FIG. 13 always stores the facsimilemessage on the messaging platform, regardless of the destinationcondition at the first time.

In various embodiments employing busy triggers and no_answer triggers(discussed Infra in discussion for FIG. 20), steps 812-820 are notnecessary. In this embodiment, the method continues from step 810directly to step 822 without determining whether the telephone call wasredirected.

FIG. 14 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. This flowchart illustratesa method of transmitting a facsimile message using a public-switchedtelecommunications network, the public-switched telecommunicationsnetwork having a messaging platform capable of storing a plurality offacsimile messages. The method starts in step 900 by detecting theinitiation of a telephone call from an originating party on thetelecommunications network to a destination, where the content of thetelephone call includes the facsimile message. Step 902 continues bydetermining if the destination is able to receive the telephone call—thetime of this determination being designated as the “first time”.

If the destination is available at the first time, then the methodproceeds to step 904 by transmitting the facsimile message to thedestination. If, however, the destination is unavailable at the firsttime, the method proceeds as shown to step 906 by determining if thetelephone call was initiated using a seven digit direct dialed telephonenumber.

If the telephone call was not initiated using a seven digit directdialed telephone number, the method proceeds to step 908, where thedestination condition is determined—the time of this determination to beknown as the “later time”. If the destination condition is “available”at the later time, then the method proceeds to step 904 and transmitsthe facsimile message to the destination. If, however, the destinationis “unavailable” at the later time, the method proceeds back to step 908and continues to try again to find the destination available.

If the telephone call was initiated using a seven digit direct dialedtelephone number, the method proceeds to step 910, where it isdetermined whether the NPA corresponding to the originating party, whichis known as the “originating NPA”, is different from the NPAcorresponding to the destination, which is known as the “destinationNPA”. If the originating NPA is determined to be different from thedestination NPA, the method proceeds to step 912, where the destinationNPA is prepended to the seven digit direct dialed telephone number. If,however, the originating NPA is determined to be the same as thedestination NPA, the method proceeds to step 914, where the originatingNPA is prepended to the seven digit direct dialed telephone number. Ineither case, the method then continues on to step 908, and continues aspreviously discussed.

In one embodiment of the present invention, the number of times that thestep 908 is repeated is limited to some finite number n. After trying ntimes to reach the destination, an error message, indicating that thefacsimile message could not be sent to the destination, is insteadrouted back to the originating fax. This avoids a potential problemwhere the destination, due to some fault or error, would not becomeavailable within a reasonable period of time. This also allows the userat the originating fax to know that the facsimile message did not gothrough, and gives the user the opportunity to check the number for thedestination and possibly to check into the operation status of the faxmachine at the destination.

FIG. 15 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. The method furtherdescribes an enhanced embodiment of the present invention described inthe flowchart of FIG. 14.

In particular, a method is presented for transmitting a facsimilemessage from a line of an originating party to a destination using anadvanced intelligent telecommunications network having a plurality ofservice switching points including an originating service switchingpoint, at least one service control point, and a messaging platformcapable of storing a plurality of facsimile messages.

The method begins in step 1000 by detecting an initiation of a telephonecall on the telecommunications network from an originating party to adestination, with the content of the telephone call including thefacsimile message. In step 1002, the service switching point determinesa destination condition for the destination—the time of thisdetermination being designated as the “first time”.

If the destination condition was determined to be “answer”, the methodproceeds to step 1004, where the facsimile message is transmitted to thedestination. If, however, the destination condition is “busy” or“no_answer”, the method continues to step 1006, where the originatingservice switching point suspends the telephone call and launches aninformation message to the at least one service control point. Themethod then proceeds to step 1008, where it is determined whether thetelephone call was initiated using a seven digit direct dialed telephonenumber. If the telephone call was not initiated using a seven digitdirect dialed telephone number, the method proceeds to step 1016 wherethe at least one service control point returns a routing message to theoriginating service switching point.

If the telephone call was determined to be initiated using a seven digitdirect dialed telephone number, the method proceeds to step 1010, whereit is determined whether the NPA corresponding to the originating party,which is known as the “originating NPA”, is different from the NPAcorresponding to the destination party, which is known as the“destination NPA”. To determine if the originating NPA is different fromthe destination NPA, a lookup table comprising of a plurality ofelements is used, and a linear search is performed on the elements ofthe lookup table.

The lookup table is comprised of at least two columns. The first columnconsists of impermissible NPA/NXX combinations of seven digit directdialed telephone numbers between adjacent NPAs. The second columncorresponds to the first column, and consists of the correct NPA/NXXcombinations for the impermissible NPA/NXX combinations listed in thefirst column.

The linear search is performed on the elements of the lookup table byfirst creating an NPA/NXX search string. The NPA/NXX search string iscreated by combining the originating NPA with the NXX corresponding tothe destination telephone number. The NPA/NXX search string is thencompared with the elements of the first column of the lookup table. Amatch between the NPA/NXX search string and an element of the firstcolumn of the lookup table indicates that the originating party and thedestination are located in different NPAs. If there is not a matchbetween the first column of the lookup table and the NPA/NXX searchstring, the originating party and destination are located within thesame NPA.

If it is determined in step 1010 that the originating NPA is differentfrom the destination NPA, the method continues to step 1012 where thedestination NPA is prepended to the seven digit direct dialed telephonenumber. This is done by utilizing a memory location, the contents of thememory location consisting of the final four digits of the destinationtelephone number. After the match in step 1010 is found between theNPA/NXX search string and the first column of the lookup table, thecorresponding correct NPA/NXX combination is copied from the secondcolumn of the lookup table. This correct NPA/NXX combination isprepended to the memory location, creating the ten digit telephonenumber to be sent to the messaging platform. The method then continuesto step 1016 where the at least one service control point returns arouting message to the originating service switching point.

If it is determined that the originating NPA is not different than thedestination NPA in step 1010, then the method continues to step 1014,where the originating NPA is prepended to the seven digit direct dialedtelephone number. This is done by utilizing a memory location, thecontents of the memory location consisting of the final four digits ofthe destination telephone number. The NPA/NXX search string is thenprepended to the memory location, creating the ten digit telephonenumber to be sent to the messaging platform. The method then continuesto step 1016 where the at least one service control point returns arouting message to the originating service switching point.

The method continues on to step 1018, where the originating serviceswitching point routes the telephone call to the messaging platform. Themethod proceeds to step 1020, where the facsimile message is stored onthe messaging platform. In step 1022, a destination condition for thedestination is determined at a later time. If the destination conditionat the later time is “answer”, the facsimile message is transmitted tothe destination as shown in step 1024. If the destination condition is“busy” or “no_answer”, the method returns to step 1022 (optionally aftersome delay) to determine the destination condition again.

In various embodiments of the present invention employing busy triggersand no answer triggers (discussed Infra in discussion for FIG. 20),steps 1008-1014 are not needed. In this embodiment, the method continuesfrom step 1006 directly to step 1016 without determining whether thetelephone call was initiated using a seven digit direct dialed telephonenumber.

FIG. 16 presents an example service area map in accordance with oneembodiment of the present invention. The operations of the method ofFIG. 15 will be described in the context of the example service areashown in FIG. 16.

FIG. 16 shows two adjacent NPAs, NPA1050 and NPA1052, separated by asolid boundary 1054. Within NPA1050, there are three NXXs shown asNXX1056, NXX1058, and NXX1060. Within NPA1052, there exists threeadditional NXXs shown as NXX1062, NXX1064 and NXX1066. The NXXs withineach NPA are separated by dashed bounderies which look like boundary1068. Within the NXX1056, there resides a subscriber 1076. Within theNXX1062 resides a subscriber 1078. Within the NXX1058 resides asubscriber 1080. The ten digit telephone number of Subscriber 1076 maybe represented by (NPA1050) NXX1056-XXXX, where NPA1050 is the threedigit area code in which subscriber 1076 resides, NXX1056 is the threedigit exchange in which subscriber 1076 resides, and XXXX represents afinal four digits of the telephone number for subscriber 1076. In thesame manner, the ten digit telephone numbers of subscriber 1078 andsubscriber 1080 would be represented as (NPA1052) NXX1062-XXXX and(NPA1500) NXX1058-XXXX respectively.

In operation, the method determines whether the originating NPA isdifferent than the destination NPA. To understand the purpose for thisstep, it is important to first understand that as between two adjacentNPAs, if a specific NXX is used in the first NPA, that same NXX may berepeated in the second, adjacent NPA only if the following twoconditions are met in some cases. First, in some cases, all subscribersliving in the first NPA must be unable to reach both the NXX in thefirst NPA and that same NXX in the second NPA via a seven digit directdialed telephone number. Second, in some cases, all subscribers livingin the second NPA must be unable to reach both the NXX in the second NPAand that same NXX in the first NPA via a seven digit direct dialedtelephone number. This allows people who live in close proximity, yet inadjacent NPAs, to phone one another using a seven, rather than a tendigit telephone number.

Applying this to FIG. 16, generally, a subscriber in NPA1050 must dial aten digit telephone number to contact a subscriber in NPA1052. However,if a subscriber in NPA1050 lives in close proximity to a subscriber inNPA1052, the call may be made using a seven digit telephone numberinstead. This is the case for subscribers living in NXX1056, NXX1058 andNXX1062. A subscriber living in NXX1056 may contact a subscriber livingin NXX1062 by dialing a seven digit telephone number rather than a tendigit one. Likewise, a subscriber living in NXX1058 may contact asubscriber living in NXX1062 by dialing a seven digit telephone number.Thus, subscriber 1076 and subscriber 1080 may both contact subscriber1078 using a seven digit telephone number, and subscriber 1078 is ableto contact subscriber 1076 and subscriber 1080 via a seven digit directdialed telephone number.

Since NXX1056 is used in NPA1050, it cannot also be repeated in NPA1052.If NXX1056 was used in NPA1052, it would violate the second conditionabove as subscriber 1078 would be able to reach both NXX1056 located inNPA1050 and the NXX1056 which would be located in NPA1052 via a sevendigit direct dialed telephone number. It would be permissible, however,for NXX1064 to be repeated in both NPA1050 and NPA1052 if,hypothetically, the three digit exchange representing NXX1064 were toreplace NXX1060, since both of the above conditions would be met. Thefirst condition would be met because although subscriber 1076 is able toreach the NXX1064 located in NPA1 via a seven digit direct dialedtelephone number, subscriber 1076 cannot reach the NXX1064 located inNPA1052 via a seven digit direct dialed telephone number. Similarly,subscriber 1078 is able to reach the NXX1064 located in NPA1052 via aseven digit direct dialed telephone number, but would be unable to reachthe NXX1064 which would, in this hypothetical, replace NXX1060 inNPA1050 via a seven digit direct dialed telephone number.

The purpose of determining whether the originating NPA is different thatthe destination NPA is to insure that the destination telephone numbersent to the messaging platform, and later used by the messaging platformto deliver the facsimile message to the destination is a ten digittelephone number. This destination telephone number must be ten digitsbecause the messaging platform may not be located in the same NPA as thedestination. When the destination telephone number is a seven digitdirect dialed telephone number, an NPA must be prepended to the sevendigit direct dialed telephone number to create the ten digit telephonenumber needed by the messaging platform. In order to prepend the correctNPA to the seven digit direct dialed telephone number (which is thedestination telephone number), it must be determined whether thedestination is located in the same NPA as the originating party, or anadjacent NPA. If the destination is located in the same NPA as theoriginating party, the originating party NPA will be prepended to theseven digit direct dialed telephone number to create the ten digittelephone number needed by the messaging platform. If the destination islocated in an adjacent NPA to the originating party, the adjacent NPAwill be prepended to the destination telephone number.

Applying this concept to FIG. 16, if subscriber 1076 attempted to send afacsimile message to subscriber 1078, NPA1052 would be prepended to theseven digit telephone number dialed by subscriber 1076 to reachsubscriber 1078. If subscriber 1076 attempted to send a facsimilemessage to subscriber 1080, NPA1050 would be prepended to the sevendigit telephone number dialed by subscriber 1076 to reach subscriber1080.

To determine whether the originating NPA is different than thedestination NPA, a lookup table comprising of a plurality of elements isused, and a linear search is performed on the elements of the lookuptable. First, the lookup table composition must be examined in greaterdetail. Next, it will be shown how the linear search is performed on theelements of the lookup table.

The lookup table, shown in Table 2, is comprised of at least twocolumns. The first column consists of every impermissible NPA/NXXcombination between adjacent NPAs. The elements of the first column ofthe lookup table are impermissible because if the NPA/NXX combinationdid exist, it would fail to meet the two conditions previously statedfor repeating NXXs in adjacent NPAs. The second column provides thecorresponding correct NPA/NXX combinations for each impermissibleNPA/NXX combination listed in the first column. The elements of thefirst column are in the form of ‘NPA1050’/‘NXX’ and ‘NPA1052’/‘NXX’,where ‘NPA1050’ and ‘NPA1052’ are the adjacent NPAs shown in FIG. 16,and 1′ represents every exchange located in NPA1050 and NPA1052 where asubscriber may dial to an NXX in an adjacent NPA using a seven digittelephone number rather than a ten digit telephone number. The elementsof the second column are in the form of ‘NPA1050’/‘NXX’ and‘NPA1052’/‘NXX’ where ‘NPA1050’ and ‘NPA1052’ are the adjacent NPAsshown in FIG. 16, and ‘NXX’ represents the exchanges listed incorresponding column 1 paired with its correct, or actual NPA inaccordance with the conditions for repeating NXXs in adjacent NPAs. Aspecific example demonstrating the differences between column 1 andcolumn 2 of the lookup table is as follows. Looking at the first NPA/NXXcombination in column 1 of Table 2, “NPA1050/NXX1062”, it is apparentthat this combination of NPA and NXX cannot exist in a telephone numberas NXX1062 cannot exist in NPA1050, and is therefore impermissible. Thisis because, as shown in FIG. 16, NXX1062 is located in an NPA adjacentto NPA1050 and if it was repeated in NPA1050 as well, it would violatethe first condition previously mentioned. In column 2, NXX1062 is pairedwith the second, adjacent NPA in which NXX1062 exists, thereby creatinga permissible NPA/NXX combination, in accordance with the conditions forrepeating NXXs in adjacent NPAs.

Now that the lookup table has been explained in greater detail, it willbe shown how a linear search is performed on the elements of the lookuptable.

The linear search is performed on the elements of the lookup table byfirst creating an NPA/NXX search string. The NPA/NXX search string iscreated by combining the NPA from the originating party with the NXXfrom the destination. The search string which would be created for FIG.16 where subscriber 1076 (the originating party) attempts to send a faxto subscriber 1078 (the destination) would be “NPA1050/NXX1062”, because“NPA1050” is the NPA where the originating party is located, and“NXX1062” is the NXX for the destination. The search string createdwhere subscriber 1076 attempts to send a fax to subscriber 1080 would be“NPA1050/NXX1058”. The NPA/NXX search string is then used to perform alinear search on the elements of the lookup table.

A linear search is performed on the elements of the lookup table bycomparing the NPA/NXX search string with the elements of the firstcolumn of the lookup table. A match between the elements of the firstcolumn of the lookup table and the NPA/NXX search string indicates thatthe originating NPA is different from (or adjacent to) the destinationNPA. This is true because the first column of the lookup table listsevery impermissible combination of NPA/NXX that exists between alladjacent NPAs. No match between the NPA/NXX search string and theelements of the first column of the lookup table indicates that theoriginating NPA must be the same as the destination NPA.

An example will demonstrate this. First, the search string created abovewhere subscriber 1076 attempts to send a facsimile message to subscriber1078 will be used in the linear search, the string being“NPA1050/NXX1062”. (Recall that the NPA is taken from the originatingparty, and the NXX is taken from the destination) This search string iscompared with the elements of the first column of the lookup table inTABLE 2, which lists the impermissible combinations of NPA/NXXs in atelephone call between NPA1050 and NPA1052. A match is found between thesearch string and the first element of the first column of the lookuptable in TABLE 2. This match indicates that the NPA and the NXX whichmake up the search string cannot exist in the same NPA, and therefore,must exist in adjacent NPAs. Therefore, the NPA in the search string(taken from subscriber 1076) must be in a different NPA than the NXX inthe search string (taken from subscriber 1078). This shows thatsubscriber 1076 and subscriber 1078 must be located in adjacent NPAs,not the same NPA. Conversly, when the search string where subscriber1076 attempts to send a facsimile message to subscriber 1080 is used inthe linear search (“NPA1050/NXX1058”), no match is found between thissearch string and the elements of the first column of lookup table inTABLE 2. This indicates that the NPA/NXX search string must be apermissible one, demonstrating that Subscriber 1076 and Subscriber 1080are located within the same NPA.

If it is determined that the originating NPA is different than thedestination NPA, the method prepends the destination NPA to the sevendigit direct dialed telephone number. This step is done as follows. Amemory location consisting of the final four digits of the destinationtelephone number is created. The lookup table shown in TABLE 2 anddescribed above must then be used. Once a match is found between theNPA/NXX search string and an element of the first column of the lookuptable, the correct NPA/NXX combination from the second column of thelookup table is copied from the lookup table and prepended to the memorylocation. This creates the complete destination ten digit telephonenumber needed by the messaging platform to deliver the facsimilemessage.

If it is determined that the originating NPA is the same as thedestination NPA, the method prepends the originating NPA to the sevendigit direct dialed telephone number. This is done by creating a memorylocation consisting of the final four digits of the destinationtelephone number. As stated above, the NPA/NXX search string is createdfrom combining the originating NPA and the destination NXX. To prependthe originating NPA to the seven digit direct dialed telephone number,the NPA/NXX search string is prepended to the contents of the memorylocation. This will create the ten digit destination telephone numberneeded by the messaging platform to deliver the facsimile message.

FIG. 17 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. The method furtherdescribes an enhanced embodiment of the present invention described inthe flowchart of FIG. 14. In particular, a method is presented fortransmitting a facsimile message from a line of an originating party toa destination using an advanced intelligent telecommunications networkhaving a plurality of service switching points including an originatingservice switching point, at least one service control point, and amessaging platform capable of storing a plurality of facsimile messages.

The method begins in step 1100 by detecting an initiation of a telephonecall on the telecommunications network from an originating party to adestination, with the content of the telephone call including thefacsimile message. In step 1102, the service switching point determinesa destination condition for the destination—the time of thisdetermination being designated as the “first time”.

If the destination condition was determined to be “answer”, the methodproceeds to step 1104, where the telephone call is routed to themessaging platform. The method then continues to step 1106, where themessage is stored on the messaging platform, and is transmitted to thedestination as shown in step 1108. If, however, the destinationcondition is “busy” or “no_answer”, the method continues to step 1110,where the service switching point suspends the telephone call andlaunches an information message to the at least one service controlpoint. Steps 1110 thru 1128 are identical to steps 1006 thru 1024described in FIG. 15.

It should be noted that the difference between the embodiment shown inFIG. 15, and the embodiment shown in FIG. 17 is the result of whathappens if an “answer” condition is detected in steps 1002 and 1102respectively. The embodiment as shown in FIG. 15 transmits the facsimilemessage to the final destination without storing the facsimile messageto the messaging platform. The embodiment as shown in FIG. 17 stores thefacsimile message to the messaging platform, and then transmits thefacsimile message to the final destination. Hence, the embodiment shownin FIG. 15 stores the facsimile message to the messaging platform onlyif a “busy” or “no_answer” condition is detected at the first time,whereas, the embodiment shown in FIG. 17 always stores the facsimilemessage to the messaging platform, regardless of the destinationcondition at the first time.

FIG. 18 presents a flowchart representation of a method in accordancewith the present invention. In particular, a method is presented fortransmitting a facsimile message from a line of an originating party toa destination using an advanced intelligent telecommunications networkhaving a plurality of service switching points including an originatingservice switching point, at least one service control point, and amessaging platform capable of storing a plurality of facsimile messages.

The method begins in step 1200 by detecting an initiation of a telephonecall from the originating party on the telecommunications network to thedestination, with the content of the telephone call including thefacsimile message. In step 1202, the originating service switching pointdetermines a destination condition for the destination—the time of thisdetermination being designated as the “first time”.

If the destination condition was determined to be “answer”, indicated byno trigger being detected, the method proceeds to step 1204, where thetelephone call is completed to the destination. However, if thedestination condition was “busy” or “no_answer” as indicated by theoriginating service switching point encountering a trigger, where thetrigger may be a “busy” trigger or a “no_answer” trigger, the methodcontinues to step 1206 where the originating service switching pointsuspends the telephone call and launches an information message to theat least one service control point. In a further embodiment of thepresent invention, Step 1202 determines whether a busy trigger orno_answer trigger occurs by detecting one of two conditions. The firstcondition occurs if the called switch returns a busy indication,indicating that the destination telephone is currently in use. Thesecond condition is if the called switch timer expires, indicating thatthere was no answer at the destination telephone. The occurrence of thefirst condition causes the busy trigger to fire. The occurrence of thesecond condition causes the no_answer trigger to fire.

The method then proceeds to step 1208, where a routing message isreturned from the at least one service control point to the originatingservice switching point to route the telephone call to the messagingplatform. The method then continues in step 1210, where the facsimilemessage is routed to the messaging platform. If the facsimile messagewas routed to the messaging platform, the facsimile message is stored onthe messaging platform as shown in step 1212. In step 1214 a destinationcondition is determined at a second time, where the second time is laterthan the first time. If the destination condition at the second time is“answer”, the facsimile message is transmitted to the destination asshown in step 1216. If the destination condition was “busy” or“no_answer” the method returns to step 1214 (optionally after somedelay) to determine the destination condition again.

It is worthwhile to note that in the embodiment shown in FIG. 18, theoriginating service switching point is able to complete the telephonecall to the destination itself, without any communication with the atleast one service control point, if no trigger is encountered at thefirst time. The originating service switching point communicates withthe at least one service control point by launching an informationmessage to the at least one service control point only if a “busy” or“no_answer” trigger was encountered at the first time. This allows amore efficient operation of the telecommunications system by freeing-upthe at least one service control point to perform other tasks insituations where no trigger was encountered at the first time.

In the embodiment shown in FIG. 18, it is implied that the “busy” and“no_answer” triggers described are “originating busy” and “originatingno_answer” triggers. In an alternate embodiment, the method could beimplemented using “terminating busy” and “terminating no_answer”triggers. In this embodiment, a destination service switching point,rather than the originating office (which need not be a serviceswitching point), would detect a “busy” or “no_answer” condition, thusencountering the respective busy or no_answer trigger. Upon encounteringthe busy or no_answer trigger, call processing is suspended, and aninformation message containing a “terminating busy” or “terminatingno_answer” querry is sent to the service control point as shown in step1206. Steps 1208 thru 1216 would then occur as stated above.

FIG. 19 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. This flowchart illustratesa method of transmitting a data message using a public-switchedtelecommunications network, the public-switched telecommunicationsnetwork having a messaging platform capable of storing a plurality offacsimile messages. The method starts in step 1300 by detecting theinitiation of a telephone call from an originating party on thetelecommunications network to a destination, where the content of thetelephone call includes the data message. Step 1302 continues bydetermining if the destination is able to receive the telephone call—thetime of this determination being designated as the “first time”.

If the destination is available at the first time, then the methodproceeds to step 1304 by transmitting the data message to thedestination. If, however, the destination is unavailable at the firsttime, the method proceeds as shown to step 1306 by determining if thetelephone call was initiated using a seven digit direct dialed telephonenumber.

If the telephone call was not initiated using a seven digit directdialed telephone number, the method proceeds to step 1308, where thedestination condition is determined—the time of this determination to beknown as the “later time”. If the destination condition is available atthe later time, then the method proceeds to step 1304 and transmits thedata message to the destination. If, however, the destination isunavailable at the later time, the method proceeds back to step 1308 andcontinues to try again to find the destination available.

Steps 1310-1314 are identical to steps 910-914 described in FIG. 14.

This method is usable in conjunction with the systems described hereinto transmit and store voice messages. If a voice message was transmittedand stored on the messaging platform, it is held for retrieval by anauthorized person at the destination in a manner similar to standardvoice mail systems.

In various embodiments of the present invention employing busy trigger:and no answer triggers (discussed Infra in discussion for FIG. 20),steps 1306, and 1310-1314 are not needed. In this embodiment, the methodcontinues from step 1302 directly to step 1308 without determiningwhether the telephone call was initiated using a seven digit directdialed telephone number.

FIG. 20 presents a flowchart representation of a method in accordancewith one embodiment of the present invention.

In particular, a method is presented for transmitting a data messagefrom a line of an originating party to a destination using an advancedintelligent telecommunications network having a plurality of serviceswitching points including an originating service switching point, atleast one service control point, and a messaging platform capable ofstoring a plurality of data messages.

The method begins in step 1400 by detecting an initiation of a telephonecall on the telecommunications network from an originating party to adestination, with the content of the telephone call including the datamessage. Steps 1402-1408 are performed identically to steps 1202-1208shown in FIG. 18.

In step 1410, the data message is routed to the messaging platform. Ifthe data message was routed to the messaging platform, the data messageis stored on the messaging platform as shown in step 1412. In step 1414a destination condition is determined at a second time, where the secondtime is later than the first time. If the destination condition at thesecond time is “answer”, the data message is transmitted to thedestination as shown in step 1416. If the destination condition was“busy” or “no_answer” the method returns to step 1414 (optionally aftersome delay) to determine the destination condition again.

This method is usable in conjunction with the systems described hereinto transmit and store voice messages. If a voice message was transmittedand stored on the messaging platform, it is held for retrieval by anauthorized person at the destination in a manner similar to standardvoice mail systems.

FIG. 21 presents a block diagram representation of a telecommunicationssystem in accordance with one embodiment of the present invention. Inthis embodiment the various methods described herein can also beimplemented. In particular, a telecommunication system 1500 is includedfor transmitting a facsimile message from a line 1502 of an originatingparty, corresponding to an originating fax machine 1504, to adestination having a destination fax machine 1506 using an advancedintelligent telecommunication network such as the SS7 network. In apreferred embodiment the 0.2 AIN system features are used in theimplementation of the system described herein.

The system includes an originating service switching point 1516 fordetecting an initiation of a telephone call on the telecommunicationsnetwork from an originating party to the original destination, thecontent of the telephone call including the facsimile message, and fordetermining a destination condition for a final destination—the time ofthis determination to be known as the “first time”. The finaldestination is the original destination if the telephone call was notredirected at least once, and the final destination is a finalredirected destination if the telephone call was redirected at least onetime. Here, the “final redirected destination” is referring to the finaldestination that a telephone call to the original destination has beenforwarded. The originating service switching point 1516 launches aninformation message if the destination condition was busy or no_answerat the first time, where “busy” indicates the destination is currentlyon a call, and “no-answer” indicates the destination does not pick-upthe telephone call.

Service control point 1512, in communication with the original serviceswitching point 1516, receives the information message from theoriginating service switching point 1516. The service control point 1512then determines whether the telephone call was redirected by aredirecting party at least one time. If the telephone call wasredirected at least one time, the service control point 1512 willdetermine the redirected destination, and modify the identification ofthe originating party as described in steps 712, 714 and 716 of FIG. 12.The service control point 1512 will then return a routing message to theoriginating service switching point 1516 to route the telephone call ifthe destination condition was “busy” or “no_answer” at the first time.If the telephone call was not redirected, the service control point 1512will return a routing message to route the telephone call if thedestination condition was “busy” or “no_answer” at the first time. Inthis latter case, the service control point 1512 will not determine aredirected destination, and will not modify the identification of theoriginating party before returning a routing message to the originatingservice switching point 1516.

If the service control point 1512 returned a routing message to theoriginating service switching point 1516, a messaging platform 1514,capable of storing a plurality of facsimile messages, receives andstores the routed facsimile message. If the facsimile message was routedto the messaging platform 1514, the messaging platform attempts tocomplete the call at a later time—designated as the “second time”- andthe messaging platform transmits the facsimile message to thedestination if the destination condition was “answer” at the secondtime. Here, the condition “answer” indicates that the final destinationpicks-up the telephone call.

In an alternative embodiment employing busy triggers and no_answertriggers, it is not necessary for the service control point 1512 todetermine whether a telephone call is redirected. In this alternativeembodiment, the service control point 1512 will receive the informationmessage from the originating service switching point 1516, and return arouting message to the originating service switching point 1516 withoutdetermining whether the telephone call was redirected, and withoutmodifying the identification of the originating party.

In one embodiment of the present invention, an originating serviceswitching point 1516 detects an initiation of a telephone call on thetelecommunications network from an originating party to the destination,the content of the telephone call including the facsimile message, anddetermines a destination condition for the destination—the time of thisdetermination to be known as the “first time”. The originating serviceswitching point launches an information message if the destinationcondition was busy or no_answer at the first time.

Service control point 1512, in communication with the originatingservice switching point 1516, receives the information message from theoriginating service switching point 1516. Service control point 1512then determines whether the telephone call was initiated using a sevendigit direct dialed telephone number, and if so, determines whether theoriginating NPA is different from the destination NPA. Service controlpoint 1512 prepends the destination NPA to the seven digit direct dialedtelephone number if the originating NPA is different from thedestination NPA, and prepends the originating NPA to the seven digitdirect dialed telephone number if the originating NPA is the same as thedestination NPA. Service control point 1512 will then return a routingmessage to the originating service switching point 1516 to route thetelephone call if the destination condition was “busy” or “no_answer” atthe first time. If the telephone call was not initiated using a sevendigit direct dialed telephone number, service control point 1512 willreturn a routing message to route the telephone call if the destinationcondition was “busy” or “no_answer” at the first time. In this lattercase, service control point 1512 will not determine whether thetelephone call was initiated using a seven digit direct dialed telephonenumber, and will not prepend any NPA to the destination telephone numberbefore returning a routing message to the originating service switchingpoint 1516.

If the service control point 1512 returned a routing message to theoriginating service switching point 1516, a messaging platform 1514,capable of storing a plurality of facsimile messages, receives andstores the routed facsimile message. The messaging platform thenperforms as described above. In various embodiments of the presentinvention employing busy triggers and no answer triggers, whether thetelephone call was intiiated using a seven digit direct dialed telephonecall need not be determined by service control point 1512. In thisembodiment, after the service control point 1512 receives an informationmessage from the originating service switching point 1516, the servicecontrol point 1512 launches a routing message to the originating serviceswitching point 1516 to route the telephone call without firstdetermining whether the telephone call was initiated using a seven digitdirect dialed telephone number.

In one embodiment of the present invention, originating serviceswitching point 1516 detects an initiation of a telephone call on thetelecommunications network from an originating party to a destination,the content of the telephone call including the facsimile message, anddetermines a destination condition for the destination at a first time.An information message is launched if a trigger is encountered at thefirst time, where the trigger may be a “busy” trigger or a “no_answer”trigger, and the telephone call is completed from the originatingservice switching point 1516 to the destination if the destinationcondition was “answer” at the first time;

Service control point 1512, in communication with originating serviceswitching point 1516, receives the information messages from originatingservice switching point 1516, and returns a routing message from servicecontrol point 1512 to originating service switching point 1516 to routethe telephone call if a trigger is encountered at the first time, wherethe trigger may be a “busy” trigger or a “no_answer” trigger.

If the service control point 1512 returned a routing message to theoriginating service switching point 1516, a messaging platform 1514,capable of storing a plurality of facsimile messages, receives andstores the routed facsimile message. The messaging platform thenperforms as described above.

In one embodiment of the present invention a plurality of messagingplatforms are provided, the service control point determines thetelephone number corresponding to the message platform using alookup-table that is indexed by a telephone number corresponding to thecalling party. The calling party number is passed to the service controlpoint 1512 from the originating service control point 1516 via theinformation message. The service control point 1512 looks up the callingparty number in a database to find a corresponding number for themessaging platform 1514 that serves that particular calling party. Theservice control point 1512 then effectuates the routing of the facsimilemessage to the messaging platform 1514 by sending a routing message tooriginating service switching point 1516 that includes the telephonenumber of the messaging platform 1514. The called party field for thecall in the SS7 protocol is changed from the destination telephonenumber to the number for the messaging platform 1514. More particularly,the original called party number is assigned to the redirecting party IDfield.

In one embodiment of the present invention the system described above isimplemented as follows. The information message sent by the originatingservice switching point 1516 to the service control point 1512 includesan Information Collected Query as allowed in the 0.2 AIN protocol. Inthis embodiment, the service control point 1512 determines thedestination condition by using an Analyze Route Message (including aNext Invent List). Once a response is received by the service controlpoint 1512, the service control point 1512 returns the Analyze RouteMessage to the originating service switching point 1516. If thedestination condition was “busy” or “no answer” then the Analyze RouteMessage includes the telephone number of the messaging platform 1514.

In one embodiment of the present invention, a destination serviceswitching point (not shown) may be used. In this embodiment, theoriginating service switching point would detect an initiation of atelephone call on the telecommunications network to the destination bydetecting an off-hook delay trigger assigned to the line 1502 of theoriginating party, and would suspend the telephone call and launch aninformation message if the off-hook delay trigger is detected. Thedestination service switching point would correspond to the destinationfax machine 1506.

Service control point 1512 receives the information message from theoriginating service switching point 1516, and in response, determines adestination condition for the destination. In one embodiment of thepresent invention, the service control point 1512 launches a query tothe destination service switching point to determine the destinationcondition. The destination service switching point responds to theservice control point 1512 with a reply of either “busy” indicating thedestination is currently on a call, “no-answer” indicating thedestination does not pick-up the call or “answer” indicating that thedestination picks-up the call and answers.

If the destination condition was “answer” at the first time, the servicecontrol point 1512 launches a transmit message to the originatingservice switching point to transmit the facsimile message to thedestination. If, and only if the destination condition was “busy” or“no-answer” at the first time, the service control point 1512 launches arouting message from the at least one service control point to theoriginating service switching point to route the telephone call. In thiscase, a messaging platform 1514, capable of storing a plurality offacsimile messages, receives and stores the routed facsimile message.The messaging platform 1514 then operates as described above.

In one embodiment of the present invention, signal transfer points (notshown) may be used. In this embodiment, the originating serviceswitching point 1516, the destination service switching point (ifpresent), the service control point 1512, and the messaging platform1514 may perform as stated in the above embodiments.

The signal transfer point would transfer messages back and forth betweenthe originating service switching point 1516 and the service controlpoint 1512, between the originating service switching point 1516 and thedestination service switching point (if present), and between theoriginating service switching point 1516 and the messaging platform1514.

It is worthwhile to note that in one embodiment, the originating serviceswitching point 1516 may route the facsimile message to the messagingplatform 1514 directly, or by means of the telephone network (notshown).

FIGS. 22-26 present flowchart representations in accordance with afurther embodiment of the present invention. In particular, theseflowcharts represent specific procedures to be performed by a servicecontrol point in response to an Information Collected Query from anoriginating service switching point. In step 1602, anInformation_Collected query is received by the service control point. Ifthe called party number has a star code prefix this indicates a verticalservice code, where vertical service code is described above inreference to FIGS. 6-9. If a vertical service code is detected in step1604, then the service control point returns an announcement number tothe originating service switching point to play a message to the user asshown in step 1606, such as a fast busy signal, indicating that thecaller has entered an incorrect sequence for this service and control ofthe call is returned to the service switching point. If no verticalservice code is detected, the method proceeds to step 1608.

In step 1608, the service control point checks the called party numberto determine if the called party is a subscriber to the service. If thecalled party number corresponds to a service subscriber the servicecontrol point then checks to see if the called party number has at least7 digits. This is performed by determining if the called party number isgreater than 999999 as shown in step 1610. If the called party number isnot greater than 999999, then the service control point returns anannouncement, as shown in step 1612, and control of the call to theoriginating service switching point. In response, the service switchingpoint plays a message to the user that indicates that the particularcall cannot be completed as dialed. If the called party number isgreater than 999999, the method proceeds to step 1620.

If the called party number does not correspond to a subscriber number,the method proceeds to step 1614 where the service control pointdetermines if the called party number starts with a one and includes avalid area code. If so, the called party number is checked to see if itconforms to the national numbering plan (the form area code+seven digitnumber, which may optionally be preceeded by a “1”). This step isperformed as shown in step 1616 by determining if the called partynumber is greater than 999999999. If so, the method proceeds to step1622. If not, the method proceeds to step 1624.

If the prefix of the called party number does not correspond to anational number (a valid area code, which may optionally be preceeded bya “1”) in step 1614, the method proceeds to step 1618 where the servicecontrol point determines if a valid international number is present. Ifso, the method proceeds to step 1622; if not, the method proceeds tostep 1624.

In step 1620, the area code (NPA) is prepended to the called partynumber. In step 1622, the service control point determines if the calledparty number corresponds to the messaging platform number—indicatingthat the user has attempted to send a message to the messaging platformdirectly. If this is the case, the method proceeds to step 1624 to beginto handle the call without the application of the service. If the calledparty number does not correspond to the messaging platform, the methodproceeds to step 1640.

In step 1624, the service control point determines if a particularinter-exchange carrier has been designated by the calling party. If so,the method proceeds to step 1630 and an analyze route message ispopulated as shown in note 1 of Table 1. If not, the service controlpoint determines if an operator has been requested as shown in step1626. If no operator has been requested then the method proceeds to step1628 to populate the analyze route message as shown in note 2 inTable 1. If, however, an operator has been requested, then the methodproceeds to step 1630. In any case, as shown in step 1632, this analyzeroute message is transmitted to the originating service switching pointwhere control of the call is returned.

In step 1640, the service control point determines if a particularinter-exchange carrier has been designated by the calling party. If so,the method proceeds to step 1642 and an analyze route message ispopulated as shown in note 1 of Table 1 If not, the method proceeds tostep 1644 to populate the analyze route message as shown in note 2 inTable 1. In either case, an analyze route conversation message is sentto the service switching point in an attempt to complete the call asshown in step 1646. The service control point then waits for a responseas shown in step 1648. If the response from the service switching pointis either “answer” indicating that the call has been answered, or“originating termination” indicating that the calling party has hung-up,or “close” indicating that the service switching point is no longerprocessing the call, then the control of the call is returned to theservice switching point.

If the response from the service switching point is either “busy” or “noanswer”, the method proceeds to step 1660. In step 1660, the servicecontrol point determines whether the telephone call was forwarded(redirected) by checking whether RedirectionInformation is present inthe Info_Collected RedirectionInformation Parameter. IfRedirectionInformation is not present, the method proceeds to step 1670.If RedirectionInformatin is present, indicating that the telephone callwas redirected, the method continues to step 1662.

In Step 1662, the service control point determines whether the telephonecall was redirected more than one time by determining whether theRedirectionPartId parameter is present. If the RedirectionPartyIdparameter is present, indicating that the telephone call was redirectedmore than one time, the method continues to step 1664 where theCallingPartyId parameter is populated with the contents of theRedirectionPartyId parameter. The method then continues to step 1670. Ifthe RedirectionPartyId parameter is not present, indicating that thetelephone call was not redirected more than one time, the methodproceeds to step 1666. In step 1666, the service control pointdetermines whether the OriginalCalledPartyId parameter is present. Ifthe OriginalCalledPartyId parameter is not present, the method proceedsto step 1624 and continues as previously described. If theOriginalCalledPartyId parameter is present, the method continues to step1668 where the CallingPartyId parameter is populated with the contentsof the OriginalCalledPartyId parameter. The method then continues tostep 1670.

In step 1670, the service control point determines if the calling partynumber corresponds to an inter-NPA seven digit dialing case. If thecalling party is not a subscriber number, or if the calling party numberis ten digits, the method proceeds directly to step 1672. If the callingparty is a seven digit number, the method proceeds to step 1674 wherethe messaging platform area code (NPA) is substituted for the callingparty area code. In step 1676, the called party number is stored in twofields; the area code and exchange in one field, field 2, and the lastfour digits of the called party number in another field, field 3. Instep 1678, the service control point determines if the area code andexchange stored in field 2 are present in a list of area code andexchange combinations which cannot occur per industry standard. If so,the method prepends field 3 with an area code and exchange determinedfrom a lookup table and continues to step 1672. If not, the methodproceeds directly to step 1672. If the area code and exchange match thearea code and exchange of the messaging platform, the method firstproceeds to step 1680 where the original four digits of the called partynumber are prepended with an area code and exchange that are determinedfrom a look up table. In step 1672, the analyze route message ispopulated as shown in note 3 of Table 1 and control of the call isreturned to the originating service switching point. This routes thecall to the messaging platform for storage if the calling party is asubscriber to the service.

The parameters of the analyze route message sent from the servicecontrol point to the originating service switching point and the analyzeroute conversation message sent from the service control point to thedestination service switching point, as described above, are shown inTable 1. The ChargeNumber corresponds to the Automatic NumberIdentification (ANI) of the calling party. The CallingPartyID containsthe Directory Number (DN) of the calling party. TheChargePartyStationType contains the calling station type. TheChargeNumber, the CallingPartyID and the ChargePartyStationType are allpopulated with information supplied by the originating service switchingpoint to the service control point via an Info_Collected message. TheCalledParty_Digits are populated by the DN of the called party in casescovered by notes 1 & 2 and by a number stored at a specific index numberof an RC_Data_Tbl located at the service control point in cases coveredby note 3. The Traveling Class Mark (TCM) is a class of serviceindicator used with SS7 trunking. The RedirectingPartyID contains the DNof the called party. The PrimaryCarrier corresponds to an identificationcode that identifies the primary carrier for the subscriber. TheAMAslpID is a billing parameter used to bill a leg of the call.

FIG. 27 presents a flowchart representation of a method in accordancewith one embodiment of the present invention. In particular, thisflowchart represents the specific procedures to be performed by aservice switching point in a telecommunications system using busytriggers and no_answer triggers. In step 1700, the service switchingpoint detects the caller going off-hook. A dial tone is provided on theline of the caller, as shown in step 1702, and the method continues tostep 1704, where the service switching point waits for the dialed digitsto be entered by the calling party. After the dialed digits have beenentered by the calling party, the service switching point attempts toroute the call to the called party, as shown in step 1706.

In step 1708, the service switching point determines if the called partyis busy. If so, the method continues to step 1710, where the SSP O_Busytrigger is encountered. An O_Busy Querry is then sent to the servicecontrol point, as shown in 1712, and the method proceeds to step 1714,where call processing is transferred to the service control point.

If the called party was not determined to be busy in step 1708, themethod continues to step 1716, where the service control pointdetermines whether the called party answers within twenty eight seconds.If the called party does not answer the call within twenty eightseconds, the method continues to step 1718, where the ssp O_NO_Answertimer expires, and an O_NO_Answer trigger is encountered by the serviceswitching point. The method proceeds to step 1720 where an O_NO_Answerquery is sent to the service control point. Call processing is thentransferred to the service control point as shown in step 1714.

In step 1716, if the called party does answer within twenty eightseconds, the method continues to step 1722 where the service switchingpoint completes the telephone call to the called party.

Once call processing is transferred to the service control point, theservice control point could handle the telephone call as shown in step1660 of FIG. 25.

The parameters of the O_Busy query and O_NO_Answer query are the same,and are shown in Note 4 of Table 1. The ChargeNumber, CallingPartyID,ChargePartyStstionType, and PrimaryCarrier parameters are the same asmentioned in the discussions of FIGS. 6-9 and FIGS. 22-26. CalledPartIDcontains the Directory Number of the called party. TriggerCriteriaTypecontains information about why the a trigger was encountered, andcontains O_No_Answer and Busy_Cause parameters. The Busy_Cause providesthe reason for the busy condition. O_NO_Answer provides the reason for ano_answer condition.

In the embodiments of the present invention described above, thefacsimile message may be stored and forwarded every time a telephonecall is initiated by the originating party, or for all destinations thatare in a busy or no_answer condition that originates from a callingparty that subscribes to the particular service. In an alternativeembodiment, each subscriber has an option of providing a list ofpriority numbers for which the service would apply. In this embodiment,the service could be invoked in busy or no_answer calls made to thedestinations on this list, or in every time a telephone call isinitiated by the originating party to destinations on this list. Othercalls would be treated normally, without the invocation of this storeand forward service.

It is worthwhile to note that, in the various embodiments of the presentinvention described above, the facsimile message may be stored on themessaging platform every time a call is initiated, or only if thedestination is unavailable at the first time. The latter case means thatother facsimile messages can be routed to the destination withoutstorage and without using the messaging platform. This allows themessaging platform to have either lower memory requirements to handlenormal call volume or, alternatively, allows greater call capacity for afixed memory size.

In an alternative embodiment of the present invention, if the number ofdelivery attempts to the destination have been exhausted, rather thansending a facsimile message to the originating fax machine, anadministrative facility, such as a service bureau, can be notified ofthe failure along with the content of the facsimile message. In thisfashion, administrative personnel can try to manually send the facsimilemessage or can take other steps such as contacting the originator of thefacsimile message.

In an additional embodiment of the present invention, the way that thefailure to deliver a facsimile message is handled is dependent upon afailure condition. The messaging platform will continue to attempt todeliver a facsimile message to the destination if the destination isrepeatedly busy or there is no answer. If, however, the platformrecognizes that a fax tone is not returned upon answer (implying a voiceanswer) then delivery attempts may be canceled after a fewer number ofretries so as not to annoy the receiver. The number of retries allowedin either failure condition may be a system administration parameterthat is constant for all users. Alternatively, the number of retriesallowed for each failure condition could be customized at subscriberrequest for each subscriber if desired.

The methods described above, if the facsimile message were stored, wouldgenerally require initiating a new telephone call to the destination. Ina further embodiment of the present invention, if the destination wasunavailable at the first time, the method proceeds to “camp-on” thedestination to wait for the destination to become available. In thisfashion, once an indication is received that the destination isavailable the transmission of the facsimile message to the destinationcan be initiated. In this embodiment, a timer could be set to time theperiod that the system has camped-on a particular destination. After apredetermined time period has been exceeded, this method would resort torouting an error message back to the originating fax machine to indicatethe message could not be sent.

In the various embodiments described above, a stored facsimile messagecould also be erased from the messaging platform after the message isproperly sent or after the messaging platform determines that themessage cannot be sent. This allows the particular portions of memory onthe messaging platform used to store the facsimile message to be reusedto store additional messages.

It should also be noted that the various methods described above and theother embodiments of the present invention described herein—like anormal facsimile transmission—operate by having the user initiate afacsimile transmission to the telephone number corresponding to thedestination. They enter the telephone number of destination on their faxmachine. The fax machine operates as normal and the message istransmitted—either to the messaging platform or to the destination. Ineither case the fax machine itself is free for sending and receivingadditional faxes. The user does not direct the facsimile message to themessaging platform. The facsimile message may be routed to the messagingplatform every time a telephone call is initiated, or only if thedestination is unavailable.

While portions of the description herein has referred to thetransmission of facsimile messages, the methods and systems describedare likewise suited for applications in other areas of datatransmission. In particular, other applications of the present inventioninclude: credit verification transactions where a credit card is scannedat a point of sale and a credit card database is accessed;communications involved with the transfer of billing and/or sales data;market transaction data transfers; automated teller machinetransactions; and communications involving the sale of lottery tickets.

While the various embodiments of the present invention have beendescribed in conjunction with a public switched telephone network, theseembodiments could similarly apply to communications of messages overother communication networks. In particular, facsimile messages andvoice messages, within the scope of the present invention, may betransmitted using data communications networks such as the internet.

The various methods described herein, in a preferred embodiment, areintended for operation as software programs running on a computerprocessor. One of ordinary skill in the art will recognize that otherhardware implementations such as application specific integratedcircuits, programmable logic arrays and other hardware devices couldlikewise be constructed to implement the methods described herein. Inshould also be noted that the various methods of the present inventioncould be stored on a tangible storage medium such as a magnetic oroptical disk, read-only memory or random access memory and be producedas an article of manufacture.

Thus, there has been described herein a concept, as well as severalembodiments including a preferred embodiment, of a method andtelecommunication system for transmitting a facsimile message. Thevarious embodiments of methods and systems may store a facsimile messageonly if the destination is unavailable, or every time a telephone callis initiated. The various embodiments of methods and systems alsodescribe how a facsimile message is handled where a telephone call isredirected at least one time, and where a telephone call is initiatedusing a seven digit direct dialed telephone number. Furthermore, thevarious embodiments of methods and systems describe how “busy” and“no_answer” triggers may be used in conjunction with storing a facsimilemessage to allow a more efficient operating of a telecommunicationssystem. As herein described, these various methods and systems provide asignificant improvement over the prior art. Additionally, the variousembodiments of the present invention herein-described have otherfeatures that distinguish the present invention from the prior art.

It will be apparent to those skilled in the art that the disclosedinvention may be modified in numerous ways and may assume manyembodiments other than the preferred forms specifically set out anddescribed above. Accordingly, it is intended by the appended claims tocover all modifications of the invention which fall the true spirit andscope of the invention. TABLE 1 Note 1: ChargeNumber, CallingPartyID,ChargePartyStationType, CalledParty_Digits = CollectedAddressInfo, Tcm,RedirectingPartyID, and PrimaryCarrier. Note 2: ChargeNumber,CallingPartyID, ChargePartyStationType, CalledParty_Digits =CollectedAddressInfo, Tcm, and RedirectingPartyID. Note 3: ChargeNumber,CallingPartyID, ChargePartyStationType, CalledParty_Digits =RC_Data_Tbl, Tcm, and RedirectingPartyID_Digits =CollectedAddressInfo_Digits, and AMAslpID = 008470000. Note 4:ChargeNumber, CallingPartyID, ChargePartyStationType, CalledPartyID,TriggerCriteriaType, and PrimaryCarrier.

1. Computer-readable medium having computer-readable code embodiedtherein, the computer-readable code comprising: means for detecting aninitiation of a telephone call to a destination by detecting an off-hookdelay trigger assigned to a line of an originating party; means forsuspending the telephone call and launching an information message froman originating service switching point to at least one service controlpoint if the off-hook delay trigger is detected; means for determining adestination condition for the destination at a first time using the atleast one service control point; means for launching a transmit messagefrom the at least one service control point to the originating serviceswitching point to transmit a facsimile message to the destination ifthe destination condition was “answer” at the first time; means forlaunching a routing message from the at least one service control pointto the originating service switching point to route the telephone callto a messaging platform only if the destination condition was “busy” or“no-answer” at the first time; and means for, if the facsimile messagewas routed to the messaging platform: (i) storing the routed facsimilemessage on the messaging platform; (ii) determining a destinationcondition at a second time, the second time later than the first time;and (iii) transmitting the facsimile message to the destination if thedestination condition was “answer” at the second time.
 2. Thecomputer-readable medium of claim 1 wherein the routing message containsa telephone number corresponding to the message platform to which thefacsimile message is to be routed.
 3. The computer-readable medium ofclaim 2 wherein launching a routing message includes determining thetelephone number corresponding to the message platform using alookup-table that is indexed by a telephone number corresponding to thecalling party.
 4. The computer-readable medium of claim 1 furthercomprising means for sending a close call message from a destinationservice switching point to the at least one service control point if thecall is completed.
 5. The computer-readable medium of claim 1 furthercomprising means for sending a close call message from the originatingservice switching point to the at least one service control point if thetelephone call is abandoned prior to receiving a routing message fromthe at least one service control point.
 6. The computer-readable mediumof claim 1 further comprising means for determining that the destinationis not a valid destination for receiving the facsimile message.
 7. Thecomputer-readable medium of claim 6 further comprising means foraborting the telephone call if the destination is not a validdestination for receiving a facsimile.
 8. Computer-readable mediumhaving computer-readable code embodied therein, the computer-readablecode comprising: means for detecting an initiation of a telephone callfrom a calling party to a destination, a content of the call including afacsimile message; means for determining if the destination is availableat a first time to receive a telephone call, the determining being madewith switching components of a public-switched telecommunicationsnetwork associated with the calling party; means for transmitting thefacsimile message to the destination if the destination is available atthe first time; means for storing the facsimile message on a messagingplatform only if the destination is unavailable at the first time; andmeans for, if the facsimile message was stored: (i) determining that thedestination is available at a second time, the second time later thanthe first time; and (ii) transmitting the facsimile message to thedestination if the destination is available at the second time.
 9. Thecomputer-readable medium of claim 8 further comprising means for, if thedestination is unavailable at the first time, camping-on the destinationto wait for the destination to become available.
 10. Thecomputer-readable medium of claim 8 wherein transmitting the facsimilemessage to the destination if the destination is available at the secondtime, includes initiating a new telephone call to the destination. 11.The computer-readable medium of claim 8 wherein the destination has acorresponding telephone number, and initiating a telephone call includesinitiating the telephone call to the telephone number of thedestination.
 12. Computer-readable medium having computer-readable codeembodied therein, the computer-readable code comprising: means fordetecting an initiation of a telephone call to a destination bydetecting an off-hook delay trigger assigned to a line of an originatingparty, a content of the call including a data message; means forsuspending the telephone call and launching a information message froman originating service switching point to at least one service controlpoint if the off-hook delay trigger is detected; means for determining adestination condition for the destination at a first time using the atleast one service control point; means for launching a transmit messagefrom the at least one service control point to the originating serviceswitching point to transmit the data message to the destination if thedestination condition was “answer” at the first time; means forlaunching a routing data message from the at least one service controlpoint to the originating service switching point to route the telephonecall to a messaging platform only if the destination condition was“busy” or “no-answer” at the first time; and means for, if the datamessage was routed to the messaging platform: (i) storing the routeddata message on the messaging platform; (ii) determining a destinationcondition at a second time, the second time later than the first time;and (iii) transmitting the data message to the destination if thedestination condition was “answer” at the second time.